package com.koron.device.service;

import com.koron.bean.base.Response;
import com.koron.device.bean.EquipmentLocation;
import com.koron.device.bean.EquipmentLocationQuery;
import com.koron.device.bean.template.LocationTemplate;
import org.koron.ebs.mybatis.SessionFactory;

import java.util.List;

/**
 * @ClassName EquipmentLocationService
 * @description
 * @Author 朱超
 * @Date 2021/7/23
 */
public interface EquipmentLocationService {

    Response checkBeforeInsert(SessionFactory factory, EquipmentLocation equipmentLocation);

    Response logicDelete(SessionFactory factory, String id);

    Response queryList(SessionFactory factory, EquipmentLocationQuery query);

    Response checkBeforeUpdate(SessionFactory factory, EquipmentLocation equipmentLocation);

    Response getTree(SessionFactory factory, String status);

    Response moveNode(SessionFactory factory,String id,String parentId, Integer sort);

    Response getById(SessionFactory factory,String id);

    Response getEquipmentById(SessionFactory factory, String locationId);

    Response getByIdWithoutEquipment(SessionFactory factory, List<String> ids);

    Response getByEquipId(SessionFactory factory, String equipId);

    Response getParentIdByOrgId(SessionFactory factory, String orgId);

    Response initializeFirst(SessionFactory factory);

    Response initializeSecond(SessionFactory factory);

    Response initializeThird(SessionFactory factory);

    Response initializeFourth(SessionFactory factory);

    Response initializeTwoPointFive(SessionFactory factory);

    Response refreshLatLon(SessionFactory factory);

    Response getRangeLocation(SessionFactory factory, EquipmentLocationQuery query);

    Response getLeftUpperLocationByOrgId(SessionFactory factory, String orgId);

    List<EquipmentLocation> searchByNameList(SessionFactory factory, List<String> nameList);

    List<LocationTemplate> export(SessionFactory factory, String id);

}
